package com.binhthuan.catechist.server.domain;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

import com.google.gson.annotations.Expose;

/**
 * @author Giang Đinh - Lớp trừu tượng đại diện cho các bảng
 *         <b>ec_..._status</b>.
 */
@MappedSuperclass
public class Status extends AbstractObject {

    /**
     * Mã tình trạng.
     */
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="id")
    @Expose
    private Integer id;

    /**
     * Tên tình trạng.
     */
    @Column(name="name", length=20)
    @Expose
    private String name;

    public Status() {

    }

    public Status(Integer id, String name) {
        this.id = id;
        this.name = name;
    }

    /**
     * Lấy mã tình trạng.
     * @return Mã tình trạng.
     */
    public Integer getId() {
        return id;
    }

    /**
     * Gán mã tình trạng.
     * @param id
     *            Mã tình trạng.
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Lấy tên tình trạng.
     * @return Tên tình trạng.
     */
    public String getName() {
        return name;
    }

    /**
     * Gán tên tình trạng.
     * @param name
     *            Tên tình trạng điểm danh.
     */
    public void setName(String name) {
        this.name = name;
    }
}
